Telegram Group Search
Python Hints
به این موارد چندتا مورد امنیتی هم اضافه کنید. دانستن بعضی چیزها وقتی خودتون رو web developer معرفی می‌کنید اجباری هست؛ اونقدر واضح و اجباری که هیچکس از شما راجبش شاید سوال هم نکنه؛ ولی توی کار وقتی ببینند رعایت نمی‌کنید و خرابکاری جدی به بار میارید، از کار…
وقتی صحبت از امنیت میشه خیلی از توسعه دهنده‌های اینکار رو وظیفه تیم امنیت می‌دونند؛ که خب درست هم هست ولی تا یک جایی. شما هم بعنوان توسعه دهنده باید یک سری موارد رو بدونید.
مثلا خیلی دیدم؛ تیم‌های تست نفوذ فراموش می‌کنند (دسترسی ندارند) الگوریتم hash کردن پسورد داخل دیتابیس رو چک کنند؛ اینجا دانش شما بعنوان برنامه‌نویس پروژه خودش رو نشون میده و یک لایه اطمینان بیشتر برای پروژه خواهد بود.

دمشون گرم؛ تیم توسعه Django رو می‌گم چرا که اکثر اتک‌های مهم رو تا جایی که امکانش هست جلوگیری می‌کنند و برای همین هم همیشه می‌گم بکند رو فارغ از فریمورک یاد بگیرید. با این حال بسیاری دولوپر Django هست که حتی زحمت بررسی و آپدیت به آخرین پچ‌های امنیتی رو به خودش نمیده مثلا pip freeze و version locking استفاده کرده.

توی بعضی مواقع هم دانستن بعضی نکات امنیتی برای optimization بهتون کمک می‌کنه؛ مثلا توی password hash ممکن هست تحت یک شرایط خاصی اصلا الگوریتمی مثل Argon2 به کار شما نیاد و به دلایلی بهش نیاز نداشته باشید تحت این شرایط می‌تونید برگردید روی sha256 و از اون استفاده کنید (این یک مثال بود اگر argon2 رو نمی‌شناسید درموردش بخونید؛ توی لیست PASSWORD_HASHERS های Django هم هست ولی خود Django از PBKDF2 استفاده می‌کنه پیشفرض)


خیلی از برنامه‌نویس‌ها سرویس login امنی دارند که از موارد امنیتی خوبی هم استفاده می‌کنه throttling, brute-force blocker, hashing و ... اما بعضی موارد باید فراتر ازین بره؛ چیزی که خیلی ندیدم حتی روی بعضی سرویس‌های لاگین شرکت‌های بزرگ و موارد حساس.
فرض کنید شما login با ایمیل اعضای شرکت بزنید (ایمیل‌های شرکتی اصول خاصی داره و راحت بدست میاد) اگر ایمیل اشتباه باشه response time شاید زیر 20ms باشه ولی وقتی ایمیل درست هست بالای 100ms می‌شه این یکی از تکنیک‌‌های قدیمی مورد استفاده برای نفوذ به صفحات ادمین بوده و هست. شما وقتی username. email رو پیدا کنی یک نگرانی کمتر خواهی داشت.
برای همین کسی که با این موارد آشنا هست؛ برای اینکه response time لاگین درست و غلط رو یکسان کنه وقتی می‌بینه یوزر وجود نداره بجای اینکه درجا پاسخ رو برای کاربر بفرسته یکبار پسورد رو با یک چیز رندم (طبق validation نمی‌تونه توی دیتابیس باشه) حساب می‌کنه و بعد response اطلاعات غلط روی لاگین رو بر می‌گردونه.


البته که من برای این مثال دست روی یک موردی گذاشتم که خیلی‌ها رعایت نمی‌کنند (شاید نیازی هم ندارند) و خیلی‌ها بلد نیستند (باید دنبال یک جیزی هم می‌گشتم که خود django امن نکرده باشه)

یا مثلا توی کار با دیتا قبول نکردن دیتای pickle؛ اینو برگردید بالا من همون اوایل شروع کار کانال گفتم با مثال و حدود ۶ ماه قبل یکی از خوبای دنیای تکنولوژی با همین روش بهش نفوذ شد (hugging face رو منظورم هست)

یا توی شرکت‌هایی که یوزر فایل آپلود می‌کنه و نیروی انسانی باید فایل رو بررسی کنه؛ خیلی وقتا دیدم فقط پسوند فایل بررسی میشه و ...

حالا چه چیزهایی رو باید بعنوان دولوپر بدونید ؟ OWASP TOP 10 حداقلی ترین مواردی هست که شما بعنوان یک دولوپر باید بشناسید و راهای مقابله باهاش رو هم بلد باشید.

ولی بطور خاص برای Django Rest Framework حداقل این cheathseet رو باید داشته باشد
OWASP cheatsheet for DRF

من یک cheatsheet شخصی خودم دارم (شامل مواردی از بخش‌های مختلف همین cheatsheet هم هست) ولی متاسفانه نمی‌تونم به اشتراک بذارم چون آخرین ورژن رو با داکیومنت شرکت ادغام کردم. اما پیشنهاد میدم لینک بالا رو بخونید و حتما حتما حتما نگاهی هم به رفرنس‌هاشون بندازید این خیلی مهمه.
Python Hints
#موقت

تسک Build your own HTTP Server این ماه رایگان شده.

اگر دوست داشتید اینجا :
https://www.tg-me.com/codecrafter_fa
راه حل‌های خودتون رو بذارید و البته راجب کدهای دیگران هم نظر بدید و ... که حکم review داشته باشه

توی گروه فقط و فقط راجب تسک‌های مربوط به این سایت صحبت کنید. سپاس
#سوال

اینو حتماً شنیدید:
توی پایتون GIL باعث می‌شه multi-thread واقعی نداشته باشیم.

حالا من چندتا سوال سطح بالاتر می‌پرسم، می‌خوام این سوالا رو توی مصاحبه‌های سطح سنیور و مید استفاده کنم :


۱- مگر نه اینکه GIL باعث میشه در لحظه فقط یک thread توی پایتون اجرا بشه؟ پس چرا کتابخونه threading داریم ؟

۲- توی یک برنامه کاملاً پایتونی ( fortran, C, ... درگیر نباشه) بنظر شما کدوم مورد سریعتر هست و چرا ؟

threading یا asynchronous

۳- حالتی به ذهنت می‌رسه که توی یک کد کاملا پایتونی استفاده از threading بهتر از asynchronous باشه ؟


چرا این سوالات ؟ چون خسته شدم انقدر که سخت‌ترین سوال مصاحبه این بود که؛
کی از threading استفاده کنیم کی از multi-process ؟
گفتم چندتا سوال خوب برای مصاحبه طرح کنم، البته دارم روش کار می‌کنم.
۴-۵ تا دیگه اضافه می‌شه
یک گروه هکری گفته کل اطلاعات همراه اول رو با نفوذ بدست آورده

بعد رفتن اعتبار سنجی کردن، دیدن داده‌ها درسته؛ تو گزارش چی زده باشند خوبه ؟

اطلاعات موردی تأیید می‌شود، اما با توجه به نفوذ‌های مکرر ممکنه این اطلاعات از دیتاهای مربوط به نفوذ‌های قدیمی‌تر باشه.

یعنی مملکت اینطوریه که، خب دیتای ملت رو که همه دارند، اگر راست می‌گید نفوذ کردید، سیستم خانم فلانی رو بکگراندش رو عوض کنید 😂🤣
Python Hints
#سوال اینو حتماً شنیدید: توی پایتون GIL باعث می‌شه multi-thread واقعی نداشته باشیم. حالا من چندتا سوال سطح بالاتر می‌پرسم، می‌خوام این سوالا رو توی مصاحبه‌های سطح سنیور و مید استفاده کنم : ۱- مگر نه اینکه GIL باعث میشه در لحظه فقط یک thread توی پایتون…
مصاحبه داشتم، کامل فراموش کرده بودم!

رفتم تو مصاحبه، مدیرفنی اومد گفت آقای فلانی یک مشکلی پیش اومده کمی دیرتر میاد ( مصاحبه من با ایشون ست شده بود )

بعد بحث به async رسید، دقیقاً سوالای خودم رو ازم پرسید.
جواب دادم و گفت؛ درک خیلی خوبی داری ولی نظری که داری میدی اشتباه هست.

دوتا چیز رو یادش نبود:
۱- شماتیک هر core مربوط به cpu
۲- مصاحبه من پایتون هست

وسط همین حرفا بود و گردن نگرفتن، که مصاحبه کننده اصلی وارد شد؛ بعد گوش دادن به حرفا.
یک سلام علیک گرم کرد، بعد به مدیرفنی گفت؛ البته سوالاتی که راجبش بحث می‌کنید رو من از کانال خودشون برداشتم.

خلاصه مصاحبه تموم شد؛ به ۱۰ دقیقه نکشید دوستی که من رو معرفی کرده بود زنگ زد گفت overqualified شدی.

میگم، مگه خودتون نگفتید Senior لازم دارید ؟

میزنه زیر خنده.


کاری به جریان مصاحبه ندارم، ولی به معنای واقعی لذت بردم ازینکه دیدم سوالای خودم داره پرسیده میشه.

واقعاً ذوق کردم، فکر نمی‌کردم کانال انقدر بازخورد داشته باشه.

پینوشت:
بله پیش اومده جایی دستمزدش خوب بوده خودم رو زدم به اون راه که overqualified نشم و اینکار بدی نیست.
معمولاً بعضی مدیرای فنی براشون نگرانی هست که شخص باسوادتر نکنه تو کارشون دخالت کنه یا حرف نخونه، ولی برای من که دنبال داستان نیستم دستمزد که خوب باش مشکلی پیش نمیاد مگر اینکه کار برای دوست نزدیکم باشه و نتونم درمورد راهکار اشتباه سکوت کنم.
سوال تکراری چندماه اخیر:

- چرا کمتر پست میذاری ؟
- دیگه آموزش نمیدی ؟

جواب :

این روزها بیشتر درگیر Rust هستم توی وقتهای آزاد خودم؛ تسک‌های پایتون رو که تموم می‌کنم به تسک‌های rust رسیدگی می‌کنم و بعد برای تمرین بیشتر سراغ Rust میرم مجدد.
از Rust برای توسعه بکند و کارهای دیگه‌ای که درحال حاضر با پایتون انجام میدم نمی‌خوام استفاده کنم (هرچند با اون‌ها تمرین می‌کنم) اما بیشتر برای توسعه Kernel, Database, Protocol و ... یاد میگیرم استفاده کنم برای همین یک وقت زیادی رو هم صرف برطرف کردن ضعف‌هام روی اون مباحث می‌کنم.

مجموع این موارد باهم دیگه باعث میشه؛ کمتر پست بذارم هرچند به نظر خودم بیشتر چیزهای مهم و اساسی رو درموردش پست گذاشتم و اکثرا هم با جزئیات آموزش دادم.

در نهایت :

اگر این سوال براتون پیش میاد که ماهم بریم Rust یاد بگیریم باید به ۲ تا نکته توجه کنید :
۱- من برای پول درآوردن سراغ Rust نرفتم؛ هرچند پروژه‌هایی این مدت برام اومده ولی درآمدم از Python بیشتره.
۲- برای کارهایی که توی Python می‌تونم انجام بدم هم سراغ Rust نمیرم؛ یعنی اگر فیلد مورد علاقم Backend هست همون رو توی Python دنبال می‌کنم و نه Rust.
#سوال

دارم یک کتاب می‌خونم برای معرفی، یک سوال مصاحبه جالب از توش در اومد؛

کدی بنویسید که هر عدد دسیمال رو به عددی با پایه ۲ تا ۳۶ تبدیل کنه.

پایه ۲ همون باینتری هست، پایه ۸ و ۱۶ هم که شناس هستند، ولی کسی اگر اصول رو بدونه باقی پایه‌ها هم تبدیلش خیلی راحت هست.

سطح سوال جونیور هست.
#book

این مدت که دارم مصاحبه انجام میدم (کار جوری هست که درک درست مفاهیم خیلی مهم هست) با فرمت مصاحبه‌های اینکار.
مشکلی که خیلی زیاد می‌بینم، نبود سواد ریاضیات هست.

با دوستان هم صحبت بودیم، که یکی از بچه‌ها پرسید منی که خودخوان شروع کردم همه‌ی این مشکلات رو که گفتی دارم.
یک منبع بهم معرفی کن، که همه ریاضیات لازم رو یاد بگیرم.

اون لحظه گفتم، باشه برات می‌فرستم بذار ببینم چی پیدا می‌شه ؟

ولی تو ذهنم این بود که، من ریاضی رو توی دبیرستان خوندم، توی دانشگاه خوندم، کلی مطلب (علاقه شخصی) دنبال کردم، بعد توی ارشد بازم خوندم و بعد بخاطر درک دیپ‌لرنینگ همیشه داشتم ریاضی می‌خوندم کنار کتابای کامپیوتر.
تازه کلی الگوریتم و ... هم خوندم که برای درک بهتر اون‌ها هم ریاضیاتش رو یاد گرفتم.

چطوری یک منبع برای همه اینا معرفی کنم؟

این دوستمون دیپ لرنینگ کار نمی‌کنه، که خیلی راحت بگم، جبر و احتمال و دیفرانسیل و ... رو بخون و تمام.
فقط یک برنامه‌نویس پیگیر هست که براش یادگیری و درک مهمتر از سینتکس هست.
Python Hints
#book این مدت که دارم مصاحبه انجام میدم (کار جوری هست که درک درست مفاهیم خیلی مهم هست) با فرمت مصاحبه‌های اینکار. مشکلی که خیلی زیاد می‌بینم، نبود سواد ریاضیات هست. با دوستان هم صحبت بودیم، که یکی از بچه‌ها پرسید منی که خودخوان شروع کردم همه‌ی این مشکلات…
تقریباً ۳-۴ هفته دارم می‌گردم دنبال یک منبع برای اینکار، چندین منبع رو هم بررسی کردم interactive, video, cheatsheet, blog, ...

کلی هم مطلب براش فرستادم، اینو تا اینجا بخون، اینو نخون و ...
چندروز پیش کتاب داخل عکس رو دیدم، امروز ۵ فصل اولش رو از صبح تا الان خوندم.

پیش خودم گفتم ببین این دقیقاً اون کتابی هست که هر برنامه‌نویس برای ریاضیات باید بخونه.

من فقط ۵ فصل خوندم تا اینجا ولی کتاب فوق‌العاده نوشته شده
فقط اندازه‌ای که نیاز دارید و همه چیز با مثال و قابل درک.

اونقدر لذت بخش هست که تصمیم گرفتم خودمم کل کتاب رو بخونم تا آخرین صفحه.

بدون تعارف می‌گم هر دولوپری باید این کتاب رو بخونه؛ یا حداقل وقتی این کتاب رو می‌بینه با تمام مطالب سرفصل‌هاش آشنا و بلد باشه.

فرقی نداره تو چه زمینه‌ای کد می‌زنید.
مثل fluent python که از معرفیش هیچوقت پشیمون نمی‌شید.
این کتاب هم دقیقاً همونطوری هست؛ با خیال راحت معرفیش کنید.

اضافه کنم شاید برای زیر ۱۸ سال کمی سنگین باشه؛ بخصوص اینکه ریاضیات دوران مدرسه کمی سبکتر هم شده نسبت به زمان ما.

ولی حتی برای شما نسل آینده هم، اطمینان می‌دم بهتون این کتاب ارزش وقت گذاشتن کامل رو داره اگر برنامه‌نویسی رو بعنوان شغل آینده می‌بینید.

پ.ن :
این کتاب خیلی ربطی به دیپ‌لرنینگ نداره ولی برای همه برنامه‌نویس‌ها لازمه
پایه‌ی ریاضیات برنامه‌نویسی هست.

فصل‌های آخرش مباحثی رو داره که بدرد دیپ‌لرنینگ هم میخوره ولی برای دیپ لرنینگ کتابهای مخصوص به خودش رو بخونید.
کاش یک سالی هم بیاد که توش اصلاً لازم نشه بهم #تسلیت بگیم.

اصلاً یادمون بره ی روزی توی این مملکت، آخوندایی که جز خوندن :
احکام ریدن و جهتش و ...
شعور و فهم چیز دیگه‌ای نداشتند، مسئولیت داشتند.

یعنی میشه؟ تا ما زنده‌ایم !
یک سال وقتی تموم میشه، بیام اینجا بزنم:

بچه‌ها دقت کردید، امسال لازم نشد بهم دیگه تسلیت بگیم !!

من واسه اون روز می‌جنگم.

#بندرعباس
یادتونه واسه تروریست‌های لبنان هواپیما فرستادن واسه انتقال به تهران ؟

واسه بندرعباس می‌گن، تجهیزات نداریم.

#بندرعباس
Forwarded from RandRng
این ابزار خیلی باحال هست؛
بجای اینکه شما توی سورس کد دنبال این بگردید که چه خبر (معمولا کار زمانبری هست)

براتون سورس کد رو خلاصه می‌کنه و بهتون میگه داخلش چه خبره؛ چندتا سناریویی که خیلی بدرد میخوره :

۱- تازه وارد یک تیم شدید و سورس کد کاملا جدید هست.
۲- برای یادگیری میخوای سورس کد یک پروژه گیت‌هاب یا ... رو بخونید.
۳- میخواید شروع کنید روی یک پروژه اپن سورس فیچر اضافه کردن ولی قبلش نیاز دارید استانداردهای کد زدن و بخش‌های مختلف کدهای اون تیم رو درک کردن.

Turn Code Base into Easy Tutorial
Forwarded from RandRng
Please open Telegram to view this post
VIEW IN TELEGRAM
Python Hints
فصل استخدام هست، بنظرم کفتن این موضوع واجب بود.

راستی سفته هم ندید؛ آخرین باری که این موضوع رو به من گفتند؛
از مدیر عامل شرکت ۱۲ تا چک به تاریخ توافق شده برای پرداخت حقوق و به مبلغ دستمزد خواستم.

بند سفته رو بطور کلی از استخدام شرکت حذف کردند.
3rd edition
این کتاب معرفی شد؛ برای دوستانی که گفته بودند این نسخه 2nd ed قدیمی شده و ....

High Performance Python 3rd edition
Python Hints
3rd edition این کتاب معرفی شد؛ برای دوستانی که گفته بودند این نسخه 2nd ed قدیمی شده و .... High Performance Python 3rd edition
بیشترین سوال:

ما امکان خرید کتاب‌های معرفی شده توی کانال رو نداریم، چاپ شده هم گرون هست.

۱- شخصاً مخالف خرید کتاب‌های چاپ شده هستم، چون هیچکدوم هیچ پولی به نویسنده نمی‌ده

چند مورد رو به نویسنده هم ایمیل زدم، تأیید کردند. (قدیم)

۲- کتاب به هیچ‌وجه توی گروه و کانال نمی‌ذارم، کسی هم نباید بذاره چون کانال یا گروه بسته می‌شه.
(موارد امنیتی هم حتی به کنار)

۳- سایت
libgen.is
رو دنبال کنید، اکثر کتاب‌های معرفی شده اینجا هستند.

۴- سایت ممکن هست از خارج از ایران دردسترس نباشه؛
اول سعی کنید کتاب رو بخرید
دوم ما قضاوت نمی‌کنیم، مسخره می‌کنیم سعی کنید دامنه‌های متفاوت سایت libgen رو پیدا کنید
سوم، اگر نشد مثل مهاجرت معکوس، vpn معکوس بزنید با ip ایران دانلود کنید.


قبلاً چندبار برای دیگران کتاب فرستادم توی گروهای قبلی، ریپورت و بن شدم.
دیگه اینکارو نکردم، با اینکه فقط شماره‌های ایران اجازه ورود داشتند.
پس دیگه اینکار رو نمی‌کنم.
2025/06/12 17:05:57
Back to Top
HTML Embed Code: